home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / ScriptLayout.p < prev    next >
Text File  |  1996-05-01  |  7KB  |  184 lines

  1. {
  2.      File:        ScriptLayout.p
  3.  
  4.      Contains:    Script Layout Interfaces
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT ScriptLayout;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __SCRIPTLAYOUT__}
  28. {$SETC __SCRIPTLAYOUT__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ScriptLayoutIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __MIXEDMODE__}
  38. {$I MixedMode.p}
  39. {$ENDC}
  40.  
  41. {$PUSH}
  42. {$ALIGN MAC68K}
  43. {$LibExport+}
  44.  
  45. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  46.  
  47. TYPE
  48.     OffPairPtr = ^OffPair;
  49.     OffPair = RECORD
  50.         offFirst:                INTEGER;
  51.         offSecond:                INTEGER;
  52.     END;
  53.  
  54.     OffsetTable                            = ARRAY [0..2] OF OffPair;
  55. {$ENDC}
  56. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  57.  
  58. CONST
  59.                                                                 {  CharToPixel directions  }
  60.     leftCaret                    = 0;                            { Place caret for left block }
  61.     rightCaret                    = -1;                            { Place caret for right block }
  62.     kHilite                        = 1;                            { Direction is SysDirection }
  63.     smLeftCaret                    = 0;                            { Place caret for left block - obsolete  }
  64.     smRightCaret                = -1;                            { Place caret for right block - obsolete  }
  65.     smHilite                    = 1;                            { Direction is TESysJust - obsolete  }
  66.                                                                 { Constants for styleRunPosition argument in PortionLine, DrawJustified, MeasureJustified, CharToPixel, and PixelToChar. }
  67.     onlyStyleRun                = 0;                            {  This is the only style run on the line  }
  68.     leftStyleRun                = 1;                            {  This is leftmost of multiple style runs on the line  }
  69.     rightStyleRun                = 2;                            {  This is rightmost of multiple style runs on the line  }
  70.     middleStyleRun                = 3;                            {  There are multiple style runs on the line and this is neither the leftmost nor the rightmost.  }
  71.     smOnlyStyleRun                = 0;                            {  obsolete  }
  72.     smLeftStyleRun                = 1;                            {  obsolete  }
  73.     smRightStyleRun                = 2;                            {  obsolete  }
  74.     smMiddleStyleRun            = 3;                            {  obsolete  }
  75.  
  76. {  type for styleRunPosition parameter in PixelToChar etc.  }
  77.  
  78. TYPE
  79.     JustStyleCode                        = INTEGER;
  80.     FormatOrder                            = ARRAY [0..0] OF INTEGER;
  81.     FormatOrderPtr                        = ^FormatOrder;
  82. {  move FormatStatus to TextUtils.i  }
  83.     StyleRunDirectionProcPtr = ProcPtr;  { FUNCTION StyleRunDirection(styleRunIndex: INTEGER; dirParam: UNIV Ptr): BOOLEAN; }
  84.  
  85.     StyleRunDirectionUPP = UniversalProcPtr;
  86.  
  87. CONST
  88.     uppStyleRunDirectionProcInfo = $00000390;
  89.  
  90. FUNCTION NewStyleRunDirectionProc(userRoutine: StyleRunDirectionProcPtr): StyleRunDirectionUPP;
  91.     {$IFC NOT GENERATINGCFM }
  92.     INLINE $2E9F;
  93.     {$ENDC}
  94.  
  95. FUNCTION CallStyleRunDirectionProc(styleRunIndex: INTEGER; dirParam: UNIV Ptr; userRoutine: StyleRunDirectionUPP): BOOLEAN;
  96.     {$IFC NOT GENERATINGCFM}
  97.     INLINE $205F, $4E90;
  98.     {$ENDC}
  99. FUNCTION Pixel2Char(textBuf: Ptr; textLen: INTEGER; slop: INTEGER; pixelWidth: INTEGER; VAR leadingEdge: BOOLEAN): INTEGER;
  100.     {$IFC NOT GENERATINGCFM}
  101.     INLINE $2F3C, $820E, $0014, $A8B5;
  102.     {$ENDC}
  103. FUNCTION Char2Pixel(textBuf: Ptr; textLen: INTEGER; slop: INTEGER; offset: INTEGER; direction: INTEGER): INTEGER;
  104.     {$IFC NOT GENERATINGCFM}
  105.     INLINE $2F3C, $820C, $0016, $A8B5;
  106.     {$ENDC}
  107. FUNCTION PixelToChar(textBuf: Ptr; textLength: LONGINT; slop: Fixed; pixelWidth: Fixed; VAR leadingEdge: BOOLEAN; VAR widthRemaining: Fixed; styleRunPosition: JustStyleCode; numer: Point; denom: Point): INTEGER;
  108.     {$IFC NOT GENERATINGCFM}
  109.     INLINE $2F3C, $8222, $002E, $A8B5;
  110.     {$ENDC}
  111. FUNCTION CharToPixel(textBuf: Ptr; textLength: LONGINT; slop: Fixed; offset: LONGINT; direction: INTEGER; styleRunPosition: JustStyleCode; numer: Point; denom: Point): INTEGER;
  112.     {$IFC NOT GENERATINGCFM}
  113.     INLINE $2F3C, $821C, $0030, $A8B5;
  114.     {$ENDC}
  115. PROCEDURE DrawJustified(textPtr: Ptr; textLength: LONGINT; slop: Fixed; styleRunPosition: JustStyleCode; numer: Point; denom: Point);
  116.     {$IFC NOT GENERATINGCFM}
  117.     INLINE $2F3C, $8016, $0032, $A8B5;
  118.     {$ENDC}
  119. PROCEDURE MeasureJustified(textPtr: Ptr; textLength: LONGINT; slop: Fixed; charLocs: Ptr; styleRunPosition: JustStyleCode; numer: Point; denom: Point);
  120.     {$IFC NOT GENERATINGCFM}
  121.     INLINE $2F3C, $801A, $0034, $A8B5;
  122.     {$ENDC}
  123. FUNCTION PortionLine(textPtr: Ptr; textLen: LONGINT; styleRunPosition: JustStyleCode; numer: Point; denom: Point): Fixed;
  124.     {$IFC NOT GENERATINGCFM}
  125.     INLINE $2F3C, $8412, $0036, $A8B5;
  126.     {$ENDC}
  127. PROCEDURE HiliteText(textPtr: Ptr; textLength: INTEGER; firstOffset: INTEGER; secondOffset: INTEGER; VAR offsets: OffsetTable);
  128.     {$IFC NOT GENERATINGCFM}
  129.     INLINE $2F3C, $800E, $001C, $A8B5;
  130.     {$ENDC}
  131. PROCEDURE DrawJust(textPtr: Ptr; textLength: INTEGER; slop: INTEGER);
  132.     {$IFC NOT GENERATINGCFM}
  133.     INLINE $2F3C, $8008, $001E, $A8B5;
  134.     {$ENDC}
  135. PROCEDURE MeasureJust(textPtr: Ptr; textLength: INTEGER; slop: INTEGER; charLocs: Ptr);
  136.     {$IFC NOT GENERATINGCFM}
  137.     INLINE $2F3C, $800C, $0020, $A8B5;
  138.     {$ENDC}
  139. FUNCTION PortionText(textPtr: Ptr; textLength: LONGINT): Fixed;
  140.     {$IFC NOT GENERATINGCFM}
  141.     INLINE $2F3C, $8408, $0024, $A8B5;
  142.     {$ENDC}
  143. FUNCTION VisibleLength(textPtr: Ptr; textLength: LONGINT): LONGINT;
  144.     {$IFC NOT GENERATINGCFM}
  145.     INLINE $2F3C, $8408, $0028, $A8B5;
  146.     {$ENDC}
  147. PROCEDURE GetFormatOrder(ordering: FormatOrderPtr; firstFormat: INTEGER; lastFormat: INTEGER; lineRight: BOOLEAN; rlDirProc: StyleRunDirectionUPP; dirParam: Ptr);
  148.     {$IFC NOT GENERATINGCFM}
  149.     INLINE $2F3C, $8012, $FFFC, $A8B5;
  150.     {$ENDC}
  151. {$IFC OLDROUTINENAMES }
  152. FUNCTION NPixel2Char(textBuf: Ptr; textLength: LONGINT; slop: Fixed; pixelWidth: Fixed; VAR leadingEdge: BOOLEAN; VAR widthRemaining: Fixed; styleRunPosition: JustStyleCode; numer: Point; denom: Point): INTEGER;
  153.     {$IFC NOT GENERATINGCFM}
  154.     INLINE $2F3C, $8222, $002E, $A8B5;
  155.     {$ENDC}
  156. FUNCTION NChar2Pixel(textBuf: Ptr; textLength: LONGINT; slop: Fixed; offset: LONGINT; direction: INTEGER; styleRunPosition: JustStyleCode; numer: Point; denom: Point): INTEGER;
  157.     {$IFC NOT GENERATINGCFM}
  158.     INLINE $2F3C, $821C, $0030, $A8B5;
  159.     {$ENDC}
  160. PROCEDURE NDrawJust(textPtr: Ptr; textLength: LONGINT; slop: Fixed; styleRunPosition: JustStyleCode; numer: Point; denom: Point);
  161.     {$IFC NOT GENERATINGCFM}
  162.     INLINE $2F3C, $8016, $0032, $A8B5;
  163.     {$ENDC}
  164. PROCEDURE NMeasureJust(textPtr: Ptr; textLength: LONGINT; slop: Fixed; charLocs: Ptr; styleRunPosition: JustStyleCode; numer: Point; denom: Point);
  165.     {$IFC NOT GENERATINGCFM}
  166.     INLINE $2F3C, $801A, $0034, $A8B5;
  167.     {$ENDC}
  168. FUNCTION NPortionText(textPtr: Ptr; textLen: LONGINT; styleRunPosition: JustStyleCode; numer: Point; denom: Point): Fixed;
  169.     {$IFC NOT GENERATINGCFM}
  170.     INLINE $2F3C, $8412, $0036, $A8B5;
  171.     {$ENDC}
  172. {$ENDC}
  173. {$ENDC}
  174. {$ALIGN RESET}
  175. {$POP}
  176.  
  177. {$SETC UsingIncludes := ScriptLayoutIncludes}
  178.  
  179. {$ENDC} {__SCRIPTLAYOUT__}
  180.  
  181. {$IFC NOT UsingIncludes}
  182.  END.
  183. {$ENDC}
  184.